package org.dftproject.genesis.ui.pages;

import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IKeyBindingService;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.IWorkbenchWindow;


public class PageSite implements IPageSite {
	
	private final IWorkbenchPartSite site;
	
	public PageSite(IWorkbenchPartSite site) {
		this.site = site;
	}

	public String getId() {
		return site.getId();
	}

	public IKeyBindingService getKeyBindingService() {
		return site.getKeyBindingService();
	}

	public IWorkbenchPart getPart() {
		return site.getPart();
	}

	public String getPluginId() {
		return site.getPluginId();
	}

	public String getRegisteredName() {
		return site.getRegisteredName();
	}

	public void registerContextMenu(MenuManager menuManager, ISelectionProvider selectionProvider) {
		site.registerContextMenu(menuManager, selectionProvider);
	}

	public void registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider) {
		site.registerContextMenu(menuId, menuManager, selectionProvider);
	}

	public IWorkbenchPage getPage() {
		return site.getPage();
	}

	public ISelectionProvider getSelectionProvider() {
		return site.getSelectionProvider();
	}

	public Shell getShell() {
		return site.getShell();
	}

	public IWorkbenchWindow getWorkbenchWindow() {
		return site.getWorkbenchWindow();
	}

	public void setSelectionProvider(ISelectionProvider provider) {
		site.setSelectionProvider(provider);
	}

	public Object getAdapter(Class adapter) {
		return site.getAdapter(adapter);
	}

	public Object getService(Class api) {
		return site.getService(api);
	}

	public boolean hasService(Class api) {
		return site.hasService(api);
	}

}
